package com.xjoyt.pay.master.core.order.handle;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.xjoyt.pay.dto.ExecuteResult;
import com.xjoyt.pay.gateway.params.CallbackParam;
import com.xjoyt.pay.master.dto.CallbackResult;
import com.xjoyt.pay.master.po.Order;

public abstract class AbstractOrderCallbackHandle {

	protected static final Logger logger = LoggerFactory.getLogger(AbstractOrderCallbackHandle.class);

	private AbstractOrderCallbackHandle next;

	public void setNext(AbstractOrderCallbackHandle next) {
		this.next = next;
	}

	public AbstractOrderCallbackHandle getNext() {
		return this.next;
	}

	public abstract ExecuteResult<CallbackResult> handle(CallbackParam param, Order order) throws Exception;

}
